package handlers

import (
	"github.com/silenceper/wechat/v2/officialaccount/message"
	wechat "micro-grpc-server/services/wechat/proto"
)

type HandleRequest interface {
	// 普通消息
	Text(*wechat.RobotBody) (*message.Reply, error)       // 文本消息
	Image(*wechat.RobotBody) (*message.Reply, error)      // 图片消息
	Voice(*wechat.RobotBody) (*message.Reply, error)      // 语音消息
	Video(*wechat.RobotBody) (*message.Reply, error)      // 视频消息
	ShortVideo(*wechat.RobotBody) (*message.Reply, error) // 短视频消息
	Location(*wechat.RobotBody) (*message.Reply, error)   // 地址消息
	Link(*wechat.RobotBody) (*message.Reply, error)       // 链接消息
	// 事件消息
	UnSubscribe(*wechat.RobotBody) (*message.Reply, error)   // 取消关注
	Subscribe(*wechat.RobotBody) (*message.Reply, error)     // 关注
	Scan(*wechat.RobotBody) (*message.Reply, error)          // 扫码
	LocationEvent(*wechat.RobotBody) (*message.Reply, error) // 上报地理位置事件
	Click(*wechat.RobotBody) (*message.Reply, error)         // 点击菜单拉取消息时的事件推送
	View(*wechat.RobotBody) (*message.Reply, error)          // 点击菜单跳转链接时的事件推送
}
